The present disclosure relates generally to information handling systems, and more particularly to a messaging queue topology configuration system for configuring and implementing a messaging queue topology.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems may be used to provide a messaging queue system that allows applications running on computing devices to communicate with each other. A messaging queue system utilizes a message-oriented middleware that includes a software and/or hardware infrastructure that supports the sending and receiving of messages between distributed systems. The message-oriented middleware provides message queue managers that manage message queues that store messages received from sender applications on computing devices until receiver applications on other computing devices retrieve those messages for processing. As such, messaging queue systems can provide asynchronous messaging between multiple sender applications and receiver applications. The asynchronous nature of the messaging queues is ideal for communication via disparate technologies as long as each of those technologies can access the message queue.
The message-oriented middleware of the messaging queue system may be used to create messaging queue objects (e.g., message queue managers, message queues, topics, channels, etc.) for the messaging queue system, and those messaging queue objects may be arranged in a number of messaging queue topologies that provide different benefits for different use scenarios expected for the messaging queue system. For example, the messaging queue objects may be configured to provide a point-to-point messaging queue topology where queued messages travel from a point of origin to a single destination, and routing in such point-to-point messaging queue topologies may be determined per-queue and embedded in the network definition at build time. As such, point-to-point messaging queue topologies are well suited for a traditional batch interface or legacy systems. In another example, the messaging queue objects may be configured to provide a cluster messaging queue topology where messages travel from a point of origin to one of several possible destinations, and routing in such cluster messaging queue topologies may allow for the selection of the destination and the routing (per-message) to occur at run time. Furthermore, other messaging queue topologies may include the use of a hybrid point-to-point/cluster messaging queue topology, publish/subscribe messaging queue topologies, and/or other messaging queue topologies known in the art.
Determining and implementing a messaging queue topology for a particular messaging queue system is often time consuming for a messaging queue developer. For example, the messaging queue developer must determine the best messaging queue topology for a particular customer, and then manually configure the messaging queue topology by installing the message-oriented middleware on multiple systems, creating messaging queue objects, and configuring those objects to communicate according to the best messaging queue topology for the particular customer that was determined by the messaging queue developer. Furthermore, end user's needs for the messaging queue system often change, which may require reconfiguration of the messaging queue topology for that messaging queue system. Conventional message-oriented middleware lacks any functionality that programmatically tests and implements messaging queue topologies, which often results inefficiently implemented messaging queue systems.
Accordingly, it would be desirable to provide an improved messaging queue topology configuration system.